package ltd.hanamaki.study.homework.lesson;


/*
1 计算12+22+...+n2的值。n的取值范围为1－9
2 求50—100之间偶数之和.
3 计算5的阶乘是多少？5! = 5 * 4 * 3 * 2 * 1
4 打印出1~100，用空格或者换行隔开
打印出1~100，所有的偶数
接收用户输入一个数，打印出从该数到1的所有奇数，包括1
5  2006年培养学员8万人，每年增长25%，请问按此增长速度，到哪一年历届所有培训学员总人数将超到70万人？
6 假设一个蜗牛从井底往上爬，白天爬3米，晚上滑下2米，井高30米，问第几天能爬出井。

* */
public class Demo03 {

    /* 计算12+22+...+n2的值。n的取值范围为1－9*/
    public static void one_100() {

        int sum = 0;
        for (int i = 12; i < 100; i += 10) {
            sum += i;
        }
        System.out.println("12+22+...+n2的值:" + sum);

    }


    /* 3 计算5的阶乘是多少？5! = 5 * 4 * 3 * 2 * 1 */
    public static int f(int f) {
        if (f == 1) {
            return 1;
        } else {
            return f * f(f - 1);
        }
    }

    /* 使用 for循环解决 5！ */
    public static void f_for(int f) {
        int mul = 1;
        for (int i = 1; i <= f; i++) {
            mul *= i;
        }
        System.out.println(mul);
    }

    /*接收用户输入一个数，打印出从该数到1的所有奇数，包括1*/
    public static void even_num(int num) {
        for (int i = num; i > 0; i--) {
            if (i % 2 != 0) {
                System.out.println(i);
            }
        }
    }

    /*2006年培养学员8万人，每年增长25%，请问按此增长速度，到哪一年历届所有培训学员总人数将超到70万人？*/
    public static void person_count() {
        int year = 2006;
        double personCount = 8;
        while (true) {
            year++;
            personCount = personCount + personCount * 0.25;
            if (personCount >= 70) {
                break;
            }
        }
        System.out.println(year);
    }

    /*假设一个蜗牛从井底往上爬，白天爬3米，晚上滑下2米，井高30米，问第几天能爬出井。*/
    public static void snail() {
        int height = 30;
        int day = 0;
        int m = 0;
        for (int i = 1 /*天数*/ ; ; i++) {
            m += 3;
            if (m >= height) {
                day = i;
                break;
            } else {
                m -= 2;
            }
        }
        System.out.println("蜗牛一共爬了：" + day + "天");
    }

    public static void main(String[] args) {

//        one_100();

//        System.out.println(f(5));
//        f_for(5);

//        even_num(12);

//        person_count();

        snail();

    }


}
